#ifndef _SO_DEF_H_
#define _SO_DEF_H_
#include "define.h"
#include "SOBase.h"
class CSODefinitor:public CSOBase
{
public:
	CSODefinitor(){}
	~CSODefinitor(){}
	void init(const CString& workDir,double alpha,int negDist,bool useRS);
	void define(const CString &dir);
	std::vector<CString> getConfig();
protected:
	void initMisguideWord();	
	void initGuideWord();
	void initSWT(const std::vector<CString> &swtFilename);
	void initNeg(const CString &negFilename);	
	bool isNeg(const CString &word);
	bool isM(const CString& word);
	int  isG(const CString& word,double rate,int classId);
	//int  ranResult(int negCount,int posCount);
	SWTMap m_SWT;
	double m_alpha;
	std::vector<CString> m_negs;
	std::vector<CString> m_migG;
	std::vector<CString> m_guide;
	bool   m_bUseRS;
	int    m_negDist;
	int    m_leaked;
};
#endif